<?php

/**
 * trabajo actions.
 *
 * @package    zing
 * @subpackage trabajo
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class trabajoActions extends sfActions
{
  public function executeIndex(sfWebRequest $request)
  {
//    $this->trabajos = Doctrine_Core::getTable('Trabajo')
//      ->createQuery('a')
//      ->execute();
    
    $this->getContext()->getInstance()->getConfiguration()->loadHelpers("Url"); 


        $table = new sfTable(array('name'=>'tTrabajo','model'=>'trabajo'),array('class'=>'pedidos')); //border:1px solid;',
        
//        $table->addFixedParameter('A', $request->getParameter('A',4));
//        
//        $table->addFixedParameter('B', $request->getParameter('B',7));
        
        $table->thSchema->setDefaultSort('Nombre');
        $table->thSchema->setDefaultSortDirection('asc');         
        
        $table->tdSchema->setOption('defaultTdAttributes',array('style'=>"text-align: center;width: 84px; overflow:hidden;margin-left:3px"));         
        //------
        

        //------
        $table->thSchema['id'] = new sfTh(array('text'=>'Cod. Trabajo.'));
//        $table->thSchema['id']->setHidden()
          $table->thSchema['id']->setFilterType('number')
                                ->setFilterable(true,'Codigo Trabajo');       
        $table->tdSchema['id'] = new sfTdModel(array('field'=>'id'));         
        //$table->tdSchema['id']->setHidden();

        //------        
        //------        
//        $table->thSchema['fechaEntrega'] = new sfTh(array('text'=>'Fecha Entrega'));
//        $table->thSchema['fechaEntrega']->setFilterable()       
//                                        ->setFilterType('dateRange')
//                                        ->setOption('filterGroup','Filtro Fechas');
//
//        $table->tdSchema['fechaEntrega'] = new sfTdModelDate(array('field'=>'fechaEntrega','dateFormat'=>'d/m/y'));                

        //------        
        $table->thSchema['nombre'] = new sfTh(array('text'=>'Nombre'));    
        $table->thSchema['nombre']->setFilterable(true,'Nombre Producto')
                                ->setFilterType('text')
                                ->setOption('multiText',true);
        $table->tdSchema['nombre'] = new sfTdModel(array('field'=>'nombre'));               

        $table->thSchema['unidadCuantificacion'] =new sfTh(array('text'=>'Unidad'));    
        $table->thSchema['unidadCuantificacion']->setFilterable(false);
        $table->thSchema['unidadCuantificacion']->setSortable(false);        
        $table->tdSchema['unidadCuantificacion'] = new sfTdModel(array('field'=>'unidadCuantificacion'));
        
        $table->thSchema['horasHombreUnidad'] = new sfTh(array('text'=>'Horas Hombre'));    
        $table->thSchema['horasHombreUnidad']->setFilterable(false);
        $table->thSchema['horasHombreUnidad']->setSortable(false);        
        $table->tdSchema['horasHombreUnidad'] = new sfTdModel(array('field'=>'horasHombreUnidad'));
        
        
               //------        
        
//        
//        $table->thSchema['fechaCreacion'] = new sfTh(array('text'=>'Fecha Creacion'));
//        $table->thSchema['fechaCreacion']->setFilterable()       
//                                        ->setFilterType('dateRange')
//                                        ->setOption('filterGroup','Filtro Fechas');
//
//        $table->tdSchema['fechaCreacion'] = new sfTdModelDate(array('field'=>'created_at','dateFormat'=>'d/m/y'));                
//
//
//        //------        
//        $table->thSchema['pagado'] = new sfTh(array('text'=>'Pagado','sortable'=>false),array('style' => 'text-align: center;'));        
//        
//        $table->tdSchema['pagado'] = new  sfTdConditionalTemplate();
//
//        
//        //----
//        $table->thSchema['entregado'] = new sfTh(array('text'=>'Entregado','sortable'=>false),array('style' => 'text-align: center;'));        
//        
//        $table->tdSchema['entregado'] = new  sfTdConditionalTemplate();
//        
//        
//        
//        //---
//        
//        
//        $table->thSchema['entregadoVar'] = new sfTh(array('text'=>'Entregado'));
//        $table->thSchema['entregadoVar']->setHidden()
//                                        ->setFilterable()
//                                        ->setFilterType('mark')
//                                        ->setOption('filterGroup','Filtro Estados');
//        $table->tdSchema['entregadoVar'] = new sfTdModel(array('field'=>'entregado'));      
//        $table->tdSchema['entregadoVar']->setHidden();
//
//        
//        //---
//        
//        
//        $table->thSchema['porcentajeRealizacion'] = new sfTh(array('text'=>'%'));
//        $table->thSchema['porcentajeRealizacion']->setFilterable(false);
//
//        
//        $table->tdSchema['porcentajeRealizacion'] = new sfTdModel(array('field'=>'porcentajeRealizacion'));      
//        //$table->tdSchema['porcentajeRealizacion']->setHidden();
//
//        //------        
//        
//        
//        $table->thSchema['pagadoVar'] = new sfTh(array('text'=>'Pagado'));        
//        $table->thSchema['pagadoVar']->setHidden()
//                                    ->setFilterable()
//                                    ->setFilterType('mark')
//                                    ->setOption('filterGroup','Filtro Estados');
//        
//        
//        $table->tdSchema['pagadoVar'] = new sfTdModel(array('field'=>'pagado'));              
//        $table->tdSchema['pagadoVar']->setHidden();
        
        //------               

        
        $table->thSchema['herramientas'] = new sfTh(array('text'=>'Herramientas','sortable'=>false),array('style' => 'text-align: center; width:50px;'));                
        //------                                    
        //$table->setFooterContent('Esto es el footer');
        
        $table->setPageSize(15);
        
        
        
        $table->setAction('trabajo/index');

        $table->buildQuery($request);        
        $table->execute($request);        
        
        $this->tabla =  $table;
      
      
      
      
      
      
      
      
    
    
  }

  public function executeNew(sfWebRequest $request)
  {
    $this->form = new TrabajoForm();
  }

  public function executeCreate(sfWebRequest $request)
  {
    $this->forward404Unless($request->isMethod(sfRequest::POST));

    $this->form = new TrabajoForm();

    $this->processForm($request, $this->form);

    $this->setTemplate('new');
  }

  public function executeEdit(sfWebRequest $request)
  {
    $this->forward404Unless($trabajo = Doctrine_Core::getTable('Trabajo')->find(array($request->getParameter('id'))), sprintf('Object trabajo does not exist (%s).', $request->getParameter('id')));
    $this->form = new TrabajoForm($trabajo);
  }

  public function executeUpdate(sfWebRequest $request)
  {
    $this->forward404Unless($request->isMethod(sfRequest::POST) || $request->isMethod(sfRequest::PUT));
    $this->forward404Unless($trabajo = Doctrine_Core::getTable('Trabajo')->find(array($request->getParameter('id'))), sprintf('Object trabajo does not exist (%s).', $request->getParameter('id')));
    $this->form = new TrabajoForm($trabajo);

    $this->processForm($request, $this->form);

    $this->setTemplate('edit');
  }

  public function executeDelete(sfWebRequest $request)
  {
    $request->checkCSRFProtection();

    $this->forward404Unless($trabajo = Doctrine_Core::getTable('Trabajo')->find(array($request->getParameter('id'))), sprintf('Object trabajo does not exist (%s).', $request->getParameter('id')));
    $trabajo->delete();

    $this->redirect('trabajo/index');
  }

  protected function processForm(sfWebRequest $request, sfForm $form)
  {
    $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
    if ($form->isValid())
    {
      $trabajo = $form->save();

      $this->redirect('trabajo/edit?id='.$trabajo->getId());
    }
  }
}
